package com.yanqu.road.entity.log.foxcard;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.foxcard.FoxConsumeCard;
import com.yanqu.road.entity.activity.foxcard.FoxHandCard;
import com.yanqu.road.entity.log.ServerBaseLog;
import com.yanqu.road.entity.log.maidian.BaseLogEntity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@FieldTypeAnnotation(tableName = "t_l_ck_activity_foxcard_use", desc = "黑狐入侵使用卡牌", autoSave = true, dataUpload = true, eventName = "red_blackuse", uploadCk = true)
public class LogFoxCardUse extends ServerBaseLog {

    @FieldTypeAnnotation(desc = "活动ID", isIndex = true, dataAttribute = "activityid")
    private int activityId;
    @FieldTypeAnnotation(desc = "玩家ID", isIndex = true)
    private long userId;
    @FieldTypeAnnotation(desc = "关卡id", dataAttribute = "red_blacklev")
    private int stageId;
    @FieldTypeAnnotation(desc = "回合数", dataAttribute = "red_blackid")
    private int round;
    @FieldTypeAnnotation(desc = "金币数量", dataAttribute = "red_blackcoin")
    private int gold;
    @FieldTypeAnnotation(desc = "用了哪张卡", dataAttribute = "red_blackusemap", saveJson = true)
    private FoxConsumeCard useCard;
    @FieldTypeAnnotation(desc = "目标手牌", dataAttribute = "red_blackusetarget", saveJson = true)
    private List<FoxHandCard> targetHandCards;
    @FieldTypeAnnotation(desc = "结果0正常 2游戏失败", dataAttribute = "red_blackresult")
    private int result;

    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public LogFoxCardUse(int activityId, long userId, int stageId, int round, int gold, FoxConsumeCard useCard) {
        this.activityId = activityId;
        this.userId = userId;
        this.stageId = stageId;
        this.round = round;
        this.gold = gold;
        this.useCard = useCard;
        this.result = 0;
        this.logTime = new Date();
    }

    @Override
    public long getUserId() {
        return userId;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getStageId() {
        return stageId;
    }

    public void setStageId(int stageId) {
        this.stageId = stageId;
    }

    public int getRound() {
        return round;
    }

    public void setRound(int round) {
        this.round = round;
    }

    public int getGold() {
        return gold;
    }

    public void setGold(int gold) {
        this.gold = gold;
    }

    public FoxConsumeCard getUseCard() {
        return useCard;
    }

    public void setUseCard(FoxConsumeCard useCard) {
        this.useCard = useCard;
    }

    public List<FoxHandCard> getTargetHandCards() {
        return targetHandCards;
    }

    public void setTargetHandCards(List<FoxHandCard> targetHandCards) {
        this.targetHandCards = targetHandCards;
    }

    public Date getLogTime() {
        return logTime;
    }

    public void setLogTime(Date logTime) {
        this.logTime = logTime;
    }

    public int getResult() {
        return result;
    }

    public void setResult(int result) {
        this.result = result;
    }
}
